<div class="dynamic-content-container dynamic-head-container">
    <table class="dynamic-table dynamic-head data-table" *ngIf="headers?.headHeader">
        <tr class="dynamic-table-row dynamic-table-header">
            <th *ngFor="let header of headers.headHeader" (click)="handleHeaderClick(header)">{{header.label}}</th>
        </tr>
        <tr class="dynamic-table-row" (mouseover)="this.hoverSymbol = row.symbol" (mouseout)="this.hoverSymbol = ''" [class.hover]="hoverSymbol === row.symbol" [class.active]="selectedSymbol === row.symbol" *ngFor="let row of data; trackBy: trackBySymbol">
            <td *ngFor="let header of headers.headHeader" (click)="handleValueClick(row[header.key], row, header)" (dblclick)="handleValueDblClick(row[header.key], row, header)">{{getValue(row[header.key], header)}}</td>
        </tr>
        <tr class="dynamic-table-row empty-row" *ngFor="let row of emptyRowData; trackBy: trackBySymbol">
            <td *ngFor="let header of headers.headHeader">{{getValue(row[header.key], header)}}</td>
        </tr>
        <tr class="dynamic-table-row empty-row" *ngIf="!emptyRowData || !emptyRowData.length">
            <td class="text-center" [attr.colspan]="headers.headHeader.length">无更多数据</td>
        </tr>
    </table>
</div>
<div class="dynamic-content-container dynamic-body-container">
    <table class="dynamic-table dynamic-body data-table" *ngIf="headers?.bodyHeader">
        <tr class="dynamic-table-row dynamic-table-header">
            <th *ngFor="let header of headers.bodyHeader" [class.sort-asc]="currentSortBy === header.key && currentSortType == 0" [class.sort-desc]="currentSortBy === header.key && currentSortType == 1" (click)="handleHeaderClick(header)">{{header.label}}</th>
        </tr>
        <tr class="dynamic-table-row" (mouseover)="this.hoverSymbol = row.symbol" (mouseout)="this.hoverSymbol = ''" [class.hover]="hoverSymbol === row.symbol" [class.active]="selectedSymbol === row.symbol" *ngFor="let row of data; trackBy: trackBySymbol">
            <td [ngClass]="getClass(row[header.key], header, true, row['change_rate'], row['px_change_rate'])" (click)="handleValueClick(row[header.key], row, header)" (dblclick)="handleValueDblClick(row[header.key], row, header)" *ngFor="let header of headers.bodyHeader">{{getValue(row[header.key], header)}}</td>
        </tr>
        <tr class="dynamic-table-row empty-row" *ngFor="let row of emptyRowData; trackBy: trackBySymbol">
            <td *ngFor="let header of headers.bodyHeader">{{getValue(row[header.key], header)}}</td>
        </tr>
        <tr class="dynamic-table-row empty-row" *ngIf="!emptyRowData || !emptyRowData.length">
            <td class="text-center" [attr.colspan]="headers.bodyHeader.length">无更多数据</td>
        </tr>
    </table>
</div>